package cmd

// Config 存储配置信息
type Config struct {
	IncludeTypes  []string `json:"include_types"`  // 需要包含的提交类型
	Format        string   `json:"format"`         // 输出格式模板
	DetailFormat  string   `json:"detail_format"`  // 详细信息格式模板
}

// 默认配置
var defaultConfig = Config{
	IncludeTypes: []string{"feat", "feature", ""},
	Format:       "* {title} {(version)} {[scope]}",
	DetailFormat: "{order}. {detail}",  // 默认使用有序列表
}

// VersionDesc 存储版本号和对应的描述信息
type VersionDesc struct {
	Version     string   // 版本号
	Description []string // 该版本的描述信息
}

// CommitInfo 存储提交信息
type CommitInfo struct {
	Scope         string        // 修改范围
	Title         string        // 处理后的提交标题
	OriginalTitle string        // 原始提交标题
	Versions      []string      // 版本号列表
	Description   []string      // 详细描述
	VersionDescs  []VersionDesc // 版本号和描述的对应关系
	Timestamp     int64         // 提交时间戳
}

// TemplateData 存储模板数据
type TemplateData struct {
	Type               string
	Scope              string
	Title              string
	OriginalTitle      string
	FirstVersion       string
	LastVersion        string
	Versions           bool
	HasMultipleVersions bool
}

// DetailData 存储详细信息的模板数据
type DetailData struct {
	Detail string // 详细信息内容
	Order  int    // 序号
} 